public class Test3 {
    //1.前置++ 表示给b先赋值a的值加1，此时b的值为2
    public static void main1(String[] args) {
        int a=1;
      int b= ++a;
        System.out.println(a);
        System.out.println(b);
    }

    public static void main2(String[] args) {
        int c=1;
        int d=c++;
        //2.后置++ 表示先使用变量原来值，表示式结束时给变量+1，
        System.out.println(c);
        System.out.println(d);
    }
    //3.关系运算符主要有六个: == != < > <= >= ，其计算结果是 true 或者 false
    public static void main3(String[] args) {
        int  b=10;
        int c=19;
        System.out.println(b==c);
    }
    //逻辑运算符主要有三个: && || ! ，运算结果都是 boolean类型。
    //4.表达式1 &&(存在短路问题） 表达式2，左右表达式必须是boolean类型的结果。 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式
    public static void main4(String[] args) {
        int a=10;
        int c=10;
        System.out.println(a==10&&c==10);
        System.out.println(a==10&&c==11);
        System.out.println(a==10&&c!=10);
    }
    // 5.逻辑 || 左右表达式至少有一个位真，则结果为真.对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式.
    public static void main5(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a == 1 || b == 2);
        System.out.println(a != 1 || b == 2);
    }
    //6.逻辑非 !真变假，假变真。
    public static void main6(String[] args) {
        int a=1;
        System.out.println(!(a==1));
    }
    //7.位运算符 & | ~ ^(不存在短路问题）
    //按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0
    //按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1
    //按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
    //位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.
    //8.条件运算符求两个整数的最大值
    public static void main8(String[] args) {
        int b=10;
        int d=15;
        System.out.println(b>d?b:d);
    }
    //9.选择结构if 判断是否是闰年
    public static void main9(String[] args) {
        int year=2000;
        if (year%100==0){
            if(year%400==0){
                System.out.println("year是闰年");
            }
            else{
                System.out.println("year不是闰年");
            }
        }
        else{
            if(year%4==0){
                System.out.println("year是闰年");
            }
            else{
                System.out.println("year不是闰年");
            }

        }
    }
 //10.选择结构switch case语句switch的括号内不能是以下类型的表达式：
 //long，float,double,boolean类型
    public static void main10(String[] args) {
        int a=8;
        switch (a){
            case 1:
                System.out.println(1);
                break;
            case 2:
                System.out.println(2);
                break;
            case 3:
                System.out.println(3);
                break;
            default:
                System.out.println("hahaha");
                break;
        }
    }
//11.循环结构·while
    public static void main11(String[] args) {
        int i=3;
        while(i<=10){
            System.out.print(i+"   ");//去掉ln是不换行的
            i++;
        }
    }
    //12.计算1-100的和
    public static void main12(String[] args) {
        int a=1;
        int result=0;
        while(a<=100){
            result +=a;
            a++;
        }
        System.out.println(result);
    }
    //13.计算5的阶乘
    public static void main(String[] args) {
        int a=1;
        int result=1;
        while (a<=5){
            result*=a;
            a++;
        }
        System.out.println(result);
    }
}
